(高级) 利用高通 EDL 模式对运行 HyperOS 的小米手机进行降级
2025-05-08 06:43:05 [刷机] [小米] [手机] [降级] [教程]注意:本教程已经流产了,因为本文提到的使用 Fastboot 进入 EDL 的方法已经证实在未解锁的手机上不可用,fastboot oem edl
会直接返回 Unknown Command 错误,adb reboot edl
手机也不会进入 EDL 模式而是直接正常重启。但本文仍被保留作为参考,为有其他手段使手机进入 EDL 模式的用户提供一个基于自由软件的解决方案。如果您不熟悉这些,建议参考这个项目(该项目是自由软件,但本人没试过)或者这个项目(本人实测可用,但该项目是专有软件)采取一些尝试;如果有困难无法进行,建议更换手机。
注意:本教程仅适合熟悉 EDL 模式的用户,需要一定技术基础。如果您从未听说过 EDL 是什么,请勿尝试本教程,如果您使用 HyperOS 的小米手机并希望使用自由软件操作系统,建议更换手机。显然本教程对非高通处理器机型不适用。
注意:本人经实测小米 10S 成功进入 EDL 模式,但不保证其它机型(尤其是较老机型)是否适用这一方法,如果您技术基础薄弱且在参考本教程操作时受阻,请勿继续。
注意:本操作将清除手机所有数据,请提前备份。
免责声明:本教程的操作流程尚未经过严格测试,您自行承担因手机变砖而带来的损失。
由于小米手机收紧了 HyperOS 机型的 Bootloader 解锁条件,使用官方方法解锁小米手机 Bootloader 已几乎不可能。但是,针对运行 MIUI 的机器小米仍然适用原来的解锁政策和方式。因而如果您的设备如果运行 HyperOS,但是出厂系统为 MIUI,理论上是可以通过降级简化解锁流程的。
下面,我将以小米 10S 为例,展示如何在 GNU/Linux 上通过 EDL 模式对手机进行降级。(Microsoft Windows 和 macOS 用户请灵活变通。)
准备
你需要 Android SDK Platform Tools、 Python 和 Git。
$ sudo apt install android-sdk-platform-tools python3 python3-pip python3-venv git
第一步:下载刷机包
到这个网站查找您需要的机型(本教程使用小米 10S,搜索“10S”,随后找到 Xiaomi Mi 10S 打开)。
随后,在 Older official XXX firmware for XXX 列表中找到 MIUI 开头的包的最新版本,并选择 Fastboot 包下载。下载完毕后解压。
第二步:安装 edl
工具
安装 edl
工具。由于大多数 GNU/Linux 发行版不提供最新版本的 Python 模块,因而我们这里使用 venv
。
$ git clone https://github.com/bkerler/edl
$ cd edl
$ python3 -m venv edl_venv
$ ./edl_venv/bin/pip3 install -r ./requirements.txt
第三步:手机进入 EDL 模式
手机进入 Fastboot 模式。然后执行:
~~ $ fastboot oem edl~~
以上方法已证实在 Bootloader 处于锁定状态的手机不奏效。建议使用其他方案,例如拆机或工程线(以上方法本人均为实操过,有经验的朋友欢迎联系我补充)
第四步:测试连接是否正常
在解压出的镜像目录(一般文件名为 images)找到所需要的 Loader 文件。
Loader 文件为 mbn 格式,一般文件名为 prog_emmc_firehose_*.mbn 或 prog_ufs_firehose_*.mbn。
在 edl
目录中执行:
$ ./edl_venv/bin/python3 ./edl --loader path/to/images/folder/prog_*_firehose_*.mbn
将 path/to/images/folder/
替换为你的镜像目录。查看输出,检查设备是否被成功检测到。
第五步:开始刷机
确认镜像目录中有几个 rawprogramX.xml 和 patchX.xml 文件。
依次执行:
$ ./edl_venv/bin/python3 ./edl --loader path/to/images/folder/prog_*_firehose_*.mbn qfil rawprogram0.xml patch0.xml path/to/images/folder/
$ ./edl_venv/bin/python3 ./edl --loader path/to/images/folder/prog_*_firehose_*.mbn qfil rawprogram1.xml patch1.xml path/to/images/folder/
$ ./edl_venv/bin/python3 ./edl --loader path/to/images/folder/prog_*_firehose_*.mbn qfil rawprogram2.xml patch2.xml path/to/images/folder/
...
将 path/to/images/folder/
替换为你的镜像目录。直到针对每一个 rawprogramX.xml 和 patchX.xml 文件对执行完毕为止。
第六步:重启手机
执行:
$ ./edl_venv/bin/python3 ./edl --loader path/to/images/folder/prog_*_firehose_*.mbn reset
将 path/to/images/folder/
替换为你的镜像目录。如果不出问题,您的手机将重启。之后,您便可以按照 MIUI 的方法,绑定小米账号并等待七天解锁了。